import axios from 'axios'
import { Message } from 'element-ui'
import Cookie from 'js-cookie' // 操作cookie
// 1 2 3

// 1. 创建实例
const http = axios.create({
	// baseURL: '' // 需要后端跨域
	timeout: 5000 // 过期时间
})
// 2. 拦截请求
http.interceptors.request.use(
	(config) => {
		const csrfToken = Cookie.get('csrfToken')
		console.log('csrfToken:', csrfToken)
		// 4. 处理token
		config.headers['x-csrf-token'] = csrfToken
		config.headers.token = localStorage.getItem('token') || ''
		// 5. 处理loding
		return config
	},
	(err) => {
		return Promise.reject(err)
	}
)
// 3. 拦截响应
http.interceptors.response.use(
	(response) => {
		// Message.success('请求成功')
		// 根据业务场景-逻辑判断
		return response.data
	},
	(err) => {
		// 6. 处理错误状态
		Message.error(err)
		return Promise.reject(err)
	}
)

export default http
